En JavaScript, les blocs `try`, `catch` et `finally` sont utilisés pour gérer les exceptions et effectuer des nettoyages quel que soit le résultat des opérations tentées. Voici une explication détaillée de leur utilisation, accompagnée d’exemples et de sources fiables.
```
try {
// Code susceptible de générer une exception
let result = riskyOperation();
console.log(‘Opération réussie :’, result);
} catch (error) {
// Code exécuté en cas d’exception
console.error(‘Une erreur est survenue :’, error.message);
} finally {
// Code exécuté quel que soit le résultat du bloc try/catch
console.log(‘Nettoyage’);
}
```
Exemple:
```
try {
let data = JSON.parse(‘{“name”: “John”, age: 30}’); // JSON mal formé
} catch (err) {
console.error(‘Erreur de parsing:’, err.message);
}
```
Dans l’exemple ci-dessus, une exception sera lancée puisque l’objet JSON est mal formé (il manque des guillemets autour de la clé `age`). Le bloc `catch` capture cette exception et affiche un message d’erreur.
Exemple:
```
try {
let fileContent = readFile(‘important-file.txt’);
console.log(‘Contenu du fichier:’, fileContent);
} catch (err) {
console.error(‘Erreur lors de la lecture du fichier:’, err.message);
} finally {
console.log(‘Fermeture des fichiers ouverts’);
closeFile(‘important-file.txt’);
}
```
```
function riskyOperation() {
// Simuler une opération qui peut échouer
if (Math.random() < 0.5) {
throw new Error(‘Opération risquée a échoué’);
}
return ‘Succès’;
}
try {
let result = riskyOperation();
console.log(‘Résultat de l\‘opération:’, result);
} catch (error) {
// Gestion de l’erreur
console.error(‘Erreur attrapée:’, error.message);
} finally {
// Nettoyage
console.log(‘Cette action est réalisée dans tous les cas’);
}
```
Dans cet exemple, la fonction `riskyOperation` a une probabilité de lancer une exception. Le bloc `try` tente d’appeler cette fonction et d’afficher son résultat. Si une exception est lancée, elle est interceptée par le bloc `catch`, qui affiche un message d’erreur. Enfin, le bloc `finally` exécute un code de nettoyage.
Ces sources sont reconnues et respectées dans le domaine du développement web et fournissent des informations complètes et précises sur l’utilisation de `try`, `catch` et `finally` en JavaScript.